home *** CD-ROM | disk | FTP | other *** search
/ The Best of MacTutor - S…e Code for Volumes 1 to 5 / The Best of MacTutor - Source Code for Volume 1-5 (Wayzata Technology)(6031)(1990).bin / Source Code / #49 (Oct 89) / SC #49.sit / Jorgs Source / mainMT.c < prev    next >
C/C++ Source or Header  |  1989-08-18  |  2KB  |  78 lines

  1. /*
  2.  *        Objects-In-C test program
  3.  *
  4.  *        based on the test program by John Wainwright © 1988
  5.  *        J. Langowski/MacTutor 1989
  6.  */
  7.  
  8. #include "oic.h"
  9. #include "generics.h"
  10.  
  11. enum { TITLE = 1, BOUNDS, KIND };        
  12. extern class         Window;                
  13.  
  14. main()
  15. {
  16.     object            rect1;
  17.     object            box1, box2;
  18.     register int    i;
  19.     extern  class      Coord, Box, Window, FillRRect;
  20.     object            w;
  21.     static Rect     bounds = {100, 100, 350, 350};
  22.     GenericTable    *gen;
  23.  
  24.     MaxApplZone();
  25.     
  26.     /*
  27.      *  initialize OIC.
  28.      */
  29.     InitOIC();
  30.     InitSysClasses();
  31.     InitTestClasses();
  32.     InitNameClasses();
  33.  
  34.     print((box1 = New(Box, 100.0, 100.0, 200.0, 200.0)));
  35.     print((rect1 = New(FillRRect, 50.0, 50.0, 150.0, 150.0, 4.0, 4.0, gray)));
  36.     
  37.     w = New(Window, BOUNDS, &bounds,
  38.                     TITLE, "\pMacTutor",
  39.                     KIND, (long)rDocProc,
  40.                     END);
  41.     
  42.     add(w, box1, New(Box, 150.0, 150.0, 190.0, 190.0), rect1, END);
  43.     draw(w);
  44.     print(w);
  45.     
  46.     box2 = New(Box, 10.0, 10.0, 20.0, 20.0);
  47.     offset(box2, 1.0, 4.0);
  48.     add(w, box2, END);
  49.     draw(w);
  50.     print(w);
  51.     
  52.     /*
  53.      * check the "cantDo", "CanYouDo" mechanism
  54.      */
  55.  
  56.     gprintf(screen, "%s append\n", CanYouDo(w, appendGeneric) ? "I can do " : "I can't do ");
  57.     gprintf(screen, "%s equal\n", CanYouDo(w, equalGeneric) ? "I can do " : "I can't do ");
  58.     gprintf(screen, "%s softBind\n", CanYouDo(w, softBindGeneric) ? "I can do " : "I can't do ");
  59.     
  60.     /*
  61.      * print the list of generics
  62.      */
  63.      
  64.     gprintf(screen, "the generics ...\n\n");
  65.     for (i = 0, gen = generics; gen != NULL; i++, gen = gen->gen_next)
  66.         gprintf(screen, "%d: %s()\n", i, GenericName(gen));
  67.         
  68.     gprintf(screen, "all done\n");
  69. }
  70.  
  71. InitTestClasses()
  72. {
  73.     InitCoordClass();
  74.     InitBoxClass();
  75.     InitWindowClass();
  76.     InitFillRRect();
  77. }    
  78.